﻿using System;
using System.IO;
using System.Xml;
using System.Collections.Generic;
using System.Text;
using System.Reflection;

namespace Scan
{
   public static class edit_config
    {

        ///
        /// 写操作
        ///
        ///
        ///
        ///
        public static void ConfigSetValue(string AppKey, string AppValue)
        {
            XmlDocument xDoc = new XmlDocument();
            //获取可执行文件的路径和名称
            xDoc.Load(Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase) + @"\AppSet.xml");

            XmlNode xNode;
            XmlElement xElem1;
            XmlElement xElem2;
            xNode = xDoc.SelectSingleNode("//appSettings");
            xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='" + AppKey + "']");
            if (xElem1 != null)
                xElem1.SetAttribute("value", AppValue);
            else
            {
                xElem2 = xDoc.CreateElement("add");
                xElem2.SetAttribute("key", AppKey);
                xElem2.SetAttribute("value", AppValue);
                xNode.AppendChild(xElem2);
            }
            xDoc.Save(Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase) + @"\AppSet.xml");
        }
        ///
        /// 读操作
        ///
        ///
        ///
        ///
        public static string ConfigGetValue(string appKey)
        {
            XmlDocument xDoc = new XmlDocument();
            try
            {
                string sd = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase) + @"\AppSet.xml";
                var dt = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase) + @"\AppSet.xml";
               // xDoc.Load(Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase) + @"\AppSet.xml");
                string sdf = @"<?xml version=""1.0"" encoding=""utf-8""?>
<configuration>
  <appSettings>
    <!--最后一次使用的密码-->
    <add key=""UserName"" value=""nb315"" />
    <!--最后一次使用的密码-->
    <add key=""PassWord"" value=""shnb2012"" />
    <!--是否自动记录或显示用户名称和密码-->
    <add key=""IsShowUserNameAndPassWord"" value=""1"" />
    <!--设备名称-->
    <add key=""SeiBeiName"" value=""东大集成"" />
    <!--出入库扫描时是否检查重复-->
    <add key=""IsCheckDistinct"" value=""0"" />
    <!--系统服务器地址-->
    <add key=""ServerUrl"" value=""http://114.55.143.172:8023"" />
    <!--系统标题名称-->
    <add key=""TitleName"" value=""诺标物流防窜追踪系统"" />
    <!--最后充值的积分帐号-->
    <add key=""LastIntegralUser"" value="""" />
    <!--是否后台线程自动批量处理-->
    <add key=""isThreadAutoRun"" value=""true"" />
    <!--是否自动添加物流代码，例如扫描出来是123456789，可以自动添加成1603123456789-->
    <add key=""isAutoAddWlCode"" value=""False"" />
    <!--自动添加的物流代码内容-->
    <add key=""autoAddWlCode"" value=""1379"" />
    <!--需要截取的字符串,从扫描到的字符中去掉截取字符串前的所有字符,仅保留面的字符-->
    <add key=""interceptStr"" value="""" />
  </appSettings>
</configuration>";
                xDoc.LoadXml(sdf);
                //xDoc.Load(@"\AppSet.xml");
                XmlNode xNode;
                XmlElement xElem;
                xNode = xDoc.SelectSingleNode("//appSettings");
                xElem = (XmlElement)xNode.SelectSingleNode("//add[@key='" + appKey + "']");
                if (xElem != null)
                    return xElem.GetAttribute("value");
                else
                    return "";
            }
            catch (Exception e)
            {
                return "";
            }
        }
    }
}
